home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (PO)
/
Nibble Volume 10, No. 01 (1989-01)(MicroSPARC)(Side A)[a].zip
/
Nibble Volume 10, No. 01 (1989-01)(MicroSPARC)(Side A)[a].po
/
TRUNC.S
< prev
next >
Wrap
Text File
|
1996-12-24
|
1KB
|
44 lines
* TRUNC
* by Lawrence Kubicz
* Copyright(c) 1988
* MicroSPARC, Inc.
* Concord, MA 01742
* Merlin Assembler
*
ORG $9500
AMPV = $3F5
CHKCOM = $DEBE
CHKSTR = $DD6C
CONINT = $E6FB
FRMEVL = $DD7B
LINNUM = $50
NEWLEN = $9501
PTRLO = $1A
RSHM = $F28C
*
INIT LDX #2 ;INITIALIZE COUNTER
INIT1 LDA AMPJ,X ;GET BYTE
STA AMPV,X ;STORE IT
STA LINNUM-1,X ;STORE IN LINNUM TOO
DEX
BPL INIT1 ;REPEAT FOR THREE BYTES
JMP RSHM ;RESET HIMEM
AMPJ JMP TRUNC ;JUMP TO OUR CODE
TRUNC JSR FRMEVL ;EVALUATE FIRST PARAMETER
JSR CHKSTR ;STRING?
LDA $A0 ;GET 1ST BYTE OF POINTER
STA PTRLO ;STORE IT
LDA $A1
STA PTRLO+1 ;STORE 2ND BYTE
JSR CHKCOM ;CHECK FOR COMMA
JSR FRMEVL ;GET 2D PARAMETER
JSR CONINT ;CONVERT TO INT
STX NEWLEN ;STORE INT. VALIUE
LDY #0 ;ZERO INDEX
LDA (PTRLO),Y ;GET 1ST BYTE OF DESCRIPTOR
CMP NEWLEN
BLT OUT ;NOTHING TO DO
LDA NEWLEN
STA (PTRLO),Y ;REPLACE LENGTH
OUT RTS